/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package praticav.dao;

import java.util.Properties;
import javax.mail.Address;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.swing.JOptionPane;


/**
 *
 * @author Katiane
 */
public class JavaMailApp {
    String solicitanteS;
    String tituloT; 
    String tipoProblemaT;
    String descricaoD;

    public JavaMailApp(String solicitante, String titulo, String tipoProblema, String descricao) {
        solicitanteS = solicitante;
        tituloT = titulo;
        tipoProblemaT = tipoProblema;
        descricaoD = descricao;
    }
    
    public void send() {
        Properties props = new Properties();
        /** Parâmetros de conexão com servidor Gmail */
        props.put("mail.smtp.host", "smtp.gmail.com");
        props.put("mail.smtp.socketFactory.port", "465");
        props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.port", "465");

        Session session = Session.getDefaultInstance(props,
            new javax.mail.Authenticator() {
            @Override
                 protected PasswordAuthentication getPasswordAuthentication() 
                 {
                       return new PasswordAuthentication("sup.vitivinicultura@gmail.com", "1234509876..");
                 }
            });
        /** Ativa Debug para sessão */
        session.setDebug(true);
        try {
          Message message = new MimeMessage(session);
          message.setFrom(new InternetAddress("sup.vitivinicultura@gmail.com")); //Remetente

          Address[] toUser = InternetAddress //Destinatário(s)
                     .parse("sup.vitivinicultura@gmail.com, katianebeiersdorf@gmail.com");  
          message.setRecipients(Message.RecipientType.TO, toUser);
          message.setSubject(""+tipoProblemaT+" - "+solicitanteS);//Assunto
          message.setText(""+tituloT);
          message.setText(""+descricaoD);
          /**Método para enviar a mensagem criada*/
          Transport.send(message);
          JOptionPane.showMessageDialog(null, "E-mail enviado com Sucesso! Aguarde o retorno da equipe de suporte");
     } catch (MessagingException e) {
         JOptionPane.showMessageDialog(null, "Falha ao enviar o E-mail!"+e.getMessage());
         //throw new RuntimeException(e);
    }
  }
}